
#include "Pila.h"

Pila::Nodo::Nodo(int valor){
    this->valor = valor;
    this->siguiente = 0;
}

Pila::Pila(){
    tope = 0;
}

Pila::Nodo::~Nodo(){
    if(siguiente){
        delete siguiente;
    }
}

Pila::~Pila(){

}

void Pila::push(int valor){
    Nodo * nuevo = new Nodo(valor);
    nuevo->siguiente = tope;
    tope = nuevo;
}

int Pila::top(){
    if(tope){
        return tope->valor;
    }else{
        return 0;
    }
}

void Pila::pop(){
    Nodo * temp = tope;
    tope = temp->siguiente;
    temp->siguiente = 0;
    delete temp;
}
